A wide variety of systems including mechanical, electrical and chemical systems as well a combinations thereof are commonly tested under a variety of environments including manufacturing test environments and field support environments. These systems include electronic systems such as circuit boards, and full systems having a variety of circuit boards. These systems also include automobiles, satellite systems, and test equipment. Such a system, while undergoing a test cycle, may be referred to as a system under test.
A system under test typically includes a variety of components. Such components include, for example, integrated circuit devices, electrical components, battery systems, mechanical components, electrical buses, wiring components, and wiring harness and backplane components. Any one or more of these components may fail and thereby cause a failure of the system under test.
Prior diagnostic systems for determining likely failed components in a system under test include model-based diagnostic systems. A model-based diagnostic system may be defined as a diagnostic system that renders conclusions about the state of the system under test, using actual system under test responses from applied tests as an input to the diagnostic system. Such a diagnostic system is usually based upon computer generated models of the system under test and its components, as well as the diagnostic process.
It is usually desirable to employ a model-based diagnostic system that is based upon a more manageable model of system under test characteristics. Such a model-based diagnostic system usually minimizes the amount of modeling information for a system under test that must be generated by a user before the system can be applied to the system under test. Such modeling usually speeds the process of adapting the diagnostic system to differing systems under test, and increases confidence in the determinations rendered by the diagnostic system.
U.S. Pat. No. 5,808,919 of Preist et. al. discloses a model-based diagnostic system, based on functional tests, in which the modeling burden is greatly reduced. The model disclosed in Preist et. al. employs a list of functional tests, a list of components exercised by each functional test, along with the degree to which each component is exercised by each functional test, and (if available) the historical or a priori failure rate for individual components. Such model data may be rapidly and easily determined or estimated by test engineers, test programmers or others familiar with, but not necessarily expert on, a system under test. Typically, the models may be developed by test engineers in a few days to a few weeks depending on the complexity of the system under test.
Sometimes, a test engineer may desire to use a model-based diagnostic system such as that which is disclosed by Priest et. al. to determine whether a fault is detectable or diagnosable. A “fault” represents one or more components or sub-components that are behaving abnormally causing one or more tests in a test suite to fail. A “detectable fault” is one that causes at least one test in a test suite to fail. A “diagnosable fault” is one that can be uniquely identified given an ambiguity group comprised of faults that all cause the same test (or group of tests) to fail. Thus, even when a particular fault is detectable, it may be difficult to diagnose it as the root cause of a test failure, because other faults may tend to cause the same test failure and thereby “interfere” with the ability to diagnose the particular fault as the root cause of a test failure.
U.S. Pat. No. 5,922,079 of Booth et. al. discloses methods for automatically analyzing a model-based diagnostic system, such as that which is disclosed by Priest et. al., to identify detectability and diagnosability problems of faults. However, the methods disclosed by Booth et. al., taken alone, do not always provide enough information regarding a diagnosability problem. Thus, the methods disclosed by Booth et. al. may tell a user that a diagnosability problem exists, but may not always provide the user with enough information to fully assess or troubleshoot the diagnosability problem.